<?php

class moduleRightModel extends CDBModelBase
{	
	public function getTabelName(){
		return "tbl_base_module_right";
	}

	public function getPKID(){
		return "module_right_id";
	}
	
	protected function getSequence()
	{
		return "MODULE_RIGHT_SEQUENCE";
	}

	/**
	 * 删除
	 * @param int $module_right_id
	 * @desc $rtn = $obj->delete(100);
	 */
	public function delete($moduleRightId)
	{
		$params = array(array(":module_right_id", $moduleRightId,PDO::PARAM_INT));
		return $this->db->executeNonQuery("DELETE FROM tbl_base_module_right 
		WHERE module_right_id = :module_right_id",$params);
	}
    
    /**
	 * 根据module_id查询
	 * @param int $moduleId
	 * @desc 
	 */
	public function selectByModuleId($moduleId)
	{
		$params = array(array(":module_id", $moduleId,PDO::PARAM_INT));
		
		return $this->db->executeDataSet(
				"select * from tbl_base_module_right where module_id=:module_id  order by right_value asc",$params);
	}
    
    /**
	 * 根据roleId,moduleId查询权限值,
	 * @param int $roleId
     * @param int $moduleId
	 * @return int 权限值 
	 */
    public function selectByRoleModule($roleId,$moduleId)
    {
        $params = array(array(":role_id", $roleId,PDO::PARAM_INT),array(":module_id", $moduleId,PDO::PARAM_INT));
		return $this->db->executeScalar(
				"select right_value from tbl_base_role_module where role_id=:role_id and module_id=:module_id",$params);
        
    }
    
    /**
	 * 取所有模块，及模块对应的权限
	 * @return 
	 */
    public function selectAllModuleRightInfo()
    {        
		return $this->db->executeDataSet("select m.module_id,m.module_name,m.sort_num,mr.module_right_id,mr.right_value,mr.right_name,mr.right_ename,mg.module_group_id,mg.group_name
			,mg.sort_num as group_sort from 
			tbl_base_module m
			inner join tbl_base_module_right mr on mr.module_id=m.module_id
			inner join tbl_base_module_group mg on mg.module_group_id=m.module_group_id and mg.del_flag=0
			 where m.del_flag=0
			 order by mg.sort_num,mg.module_group_id,m.sort_num,m.module_id,module_right_id");        
    }

}




?>